Supporting software development through declaratively codified programming patterns
نویسندگان
چکیده
In current-day software development, programmers often use programming patterns to clarify their intents and to increase the understandability of their programs. Unfortunately, most software development environments do not adequately support the declaration and use of such patterns. To explicitly codify these patterns, we adopt a declarative meta-programming approach. In this approach, we reify the structure of an (object-oriented) program in terms of logic clauses. We declare programming patterns as logic rules on top of these clauses. By querying the logic system, these rules allow us to check, enforce and search for occurrences of patterns in the software. As such, the programming patterns become an active part of the development and maintenance environment.
منابع مشابه
§ Evolving Quantum Programs and Protocols
ion is a necessary component of controlling complexity, and it comes in many forms in classical computing. A brief scan of the history of development of programming languages, for example, reveals an increasing trend towards abstraction, and higher level constructs. Programmers initially wrote only object code, the lowest level of instruction for computer hardware. This was largely superseded b...
متن کاملQuerying Versioned Software Repositories
Large parts of today’s data is stored in text documents that undergo a series of changes during their lifetime. For instance during the development of a software product the source code changes frequently. Currently, managing such data relies on version control systems (VCSs). Extracting information from large documents and their different versions is a manual and tedious process. We present Qv...
متن کاملA Declarative Evolution Framework for Object-Oriented Design Patterns
Object-oriented design patterns and high-level refactorings are popular means of implementing and evolving large object-oriented software systems. Unfortunately, these techniques are inadequately supported at implementation level by current-day software development environments. To alleviate this problem, we propose to use the promising technique of declarative metaprogramming. It offers a tigh...
متن کاملExplicit Support for Software Development Styles throughout the Complete Life Cycle
Throughout its entire life cycle software development is subject to many rules constraining and guiding construction of software systems. Examples are best-practice patterns, idioms, coding conventions, design guidelines, architectural patterns, etc. Although such regulations are widely used, their usage is currently implicit or ad-hoc, and most software development environments do not explicit...
متن کاملSupporting Impact Analysis and Change Propagation in Software Engineering Environments
Impact analysis and change propagation are among the major issues of software change management. In this paper, we introduce an approach to providing impact analysis and change propagation support as an integral part of software engineering environments, so that they can be applied during bath software development and maintenance. In this approach, the activities are carried out on the original...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Expert Syst. Appl.
دوره 23 شماره
صفحات -
تاریخ انتشار 2002